Hidden Algebra for Software Engineering
نویسنده
چکیده
This paper is an introduction to recent research on hidden algebra and its application to software engineering; it is intended to be informal and friendly, but still precise. We rst review classical algebraic speciication for traditional \Platonic" abstract data types like integers, vectors, matrices, and lists. Software engineering also needs changeable \abstract machines," recently called \objects," that can communicate concurrently with other objects through visible \attributes" and state-changing \methods." Hidden algebra is a new development in algebraic semantics designed to handle such systems. Equational theories are used in both cases, but the notion of satisfaction for hidden algebra is behavioral, in the sense that equations need only appear to be true under all possible experiments; this extra exibility is needed to accommodate the clever implementations that software engineers often use to conserve space and/or time. The most important results in hidden algebra are powerful hidden coinduction principles for proving behavioral properties. This paper also includes some comparison with the closely related area called coalgebra, and some bits of history.
منابع مشابه
Behavioral Correctness Proofs for Objects
This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavioral correctness of concurrent systems; several mechanical proofs are given using OBJ3. We also sh...
متن کاملHidden Algebraic Engineering 1
This paper outlines a research programme in algebraic engineering. It starts with a review of classical algebraic speciication for abstract data types, such as integers, vectors, booleans, and lists. Software engineering also needs abstract machines, recently called \objects," that can communicate concurrently with other objects, and that have local states with visible \attributes" that are cha...
متن کاملWeb-based Support for Cooperative Software Engineering1
The Tatami project is building a system to support software engineering over the internet, exploiting recent advances in web technology, interface design, and specification. Our effort to improve the usability of such systems has led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems has led us into hidden algebra and fuzzy logic. T...
متن کاملA hidden agenda
This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. Selected literature on concurrency and the object paradigm is reviewed, and a new perspective on nondeter-minism is developed. The main contribution is powerful hidden coinduction ...
متن کاملWeb-based Multimedia Support for Distributed Cooperative Software Engineering1
The Tatami project is building a system to support software engineering over the internet, exploiting recent advances in web technology, interface design, and specification. Our effort to improve the usability of such systems led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems led us into hidden algebra. We discuss the Tatami sys...
متن کامل